home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-1.iso / math / ast51src.zip / XDATA.C < prev    next >
C/C++ Source or Header  |  1995-12-31  |  25KB  |  532 lines

  1. /*
  2. ** Astrolog (Version 5.10) File: xdata.c
  3. **
  4. ** IMPORTANT NOTICE: The graphics database and chart display routines
  5. ** used in this program are Copyright (C) 1991-1995 by Walter D. Pullen
  6. ** (Astara@msn.com). Permission is granted to freely use and
  7. ** distribute these routines provided one doesn't sell, restrict, or
  8. ** profit from them in any way. Modification is allowed provided these
  9. ** notices remain with any altered or edited versions of the program.
  10. **
  11. ** The main planetary calculation routines used in this program have
  12. ** been Copyrighted and the core of this program is basically a
  13. ** conversion to C of the routines created by James Neely as listed in
  14. ** Michael Erlewine's 'Manual of Computer Programming for Astrologers',
  15. ** available from Matrix Software. The copyright gives us permission to
  16. ** use the routines for personal use but not to sell them or profit from
  17. ** them in any way.
  18. **
  19. ** The PostScript code within the core graphics routines are programmed
  20. ** and Copyright (C) 1992-1993 by Brian D. Willoughby
  21. ** (brianw@sounds.wa.com). Conditions are identical to those above.
  22. **
  23. ** The extended accurate ephemeris databases and formulas are from the
  24. ** calculation routines in the program "Placalc" and are programmed and
  25. ** Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl
  26. ** (alois@azur.ch). The use of that source code is subject to
  27. ** regulations made by Astrodienst Zurich, and the code is not in the
  28. ** public domain. This copyright notice must not be changed or removed
  29. ** by any user of this program.
  30. **
  31. ** Initial programming 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
  32. ** X Window graphics initially programmed 10/23-29/1991.
  33. ** PostScript graphics initially programmed 11/29-30/1992.
  34. ** Last code change made 12/27/1995.
  35. */
  36.  
  37. #include "astrolog.h"
  38.  
  39.  
  40. #ifdef GRAPH
  41. /*
  42. ******************************************************************************
  43. ** Graphics Global Variables.
  44. ******************************************************************************
  45. */
  46.  
  47. GS NPTR gs = {
  48. #ifdef ISG
  49.   fFalse,
  50. #else
  51.   fTrue,
  52. #endif
  53.   fFalse, fFalse, fTrue, fFalse, fFalse, fTrue, fTrue, fFalse,
  54.   fTrue, fTrue, fFalse, fTrue, fFalse, fFalse, fFalse,
  55.   DEFAULTX, DEFAULTY, 0, 200, 0, 0, 0, 0.0,
  56.   BITMAPMODE, 0, 8.5, 11.0, NULL, oCore, 111
  57. #ifdef PCG
  58.   , DEFHIRESMODE, DEFLORESMODE
  59. #endif
  60.   };
  61.  
  62. GI NPTR gi = {
  63.   0, fFalse, -1,
  64.   NULL, 0, NULL, NULL, 0, fFalse,
  65.   2, 1, 10, kWhite, kBlack, kLtGray, kDkGray, 0, 0, 0, 0, -1, -1
  66. #ifdef X11
  67.   , NULL, 0, 0, 0, 0, 0, 0, 0, 0
  68. #endif
  69. #ifdef PS
  70.   , fFalse, 0, fFalse, 0, 0, 1.0
  71. #endif
  72. #ifdef META
  73.   , NULL, NULL, MAXMETA, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
  74. #endif
  75. #ifdef MSG
  76.   , -1000
  77. #endif
  78. #ifdef BGI
  79.   , -1000, fFalse, VGA, VGAHI, 1, 0
  80. #endif
  81.   };
  82.  
  83. #ifdef WIN
  84. WI NPTR wi = {
  85.   (HWND)NULL, (HWND)NULL, (HWND)NULL, (HMENU)NULL, (HACCEL)NULL,
  86.   hdcNil, hdcNil, (HWND)NULL, (HPEN)NULL, (HBRUSH)NULL, (HFONT)NULL,
  87.   0, 0, 0, 0, 0, 0, 0, -1, -1,
  88.   0, 0, fFalse, fTrue, fFalse, fTrue, fFalse,
  89.   fFalse, fFalse, fTrue, fFalse, fTrue, kBlack, 1, 1000};
  90.  
  91. OPENFILENAME ofn = {
  92.   sizeof(OPENFILENAME), (HWND)NULL, (HINSTANCE)NULL, NULL, NULL, 0, 1, NULL,
  93.   cchSzMaxFile, NULL, cchSzMaxFile, NULL, NULL, OFN_OVERWRITEPROMPT, 0, 0,
  94.   NULL, 0L, NULL, NULL};
  95.  
  96. PRINTDLG prd = {
  97.   sizeof(PRINTDLG), (HWND)NULL, (HGLOBAL)NULL, (HGLOBAL)NULL, hdcNil,
  98.   PD_NOPAGENUMS | PD_NOSELECTION | PD_RETURNDC | PD_USEDEVMODECOPIES,
  99.   0, 0, 0, 0, 1, (HINSTANCE)NULL, 0L, NULL, NULL, (LPCSTR)NULL, (LPCSTR)NULL,
  100.   (HGLOBAL)NULL, (HGLOBAL)NULL};
  101. #endif
  102.  
  103. /* Color tables for Astrolog's graphics palette. */
  104.  
  105. CONST KV ARR rgbbmp[cColor] = {
  106.   0x000000L, 0x00007FL, 0x007F00L, 0x007F7FL,
  107.   0x7F0000L, 0x7F007FL, 0x7F7F00L, 0xBFBFBFL,
  108.   0x7F7F7FL, 0x0000FFL, 0x00FF00L, 0x00FFFFL,
  109.   0xFF0000L, 0xFF00FFL, 0xFFFF00L, 0xFFFFFFL};
  110. #ifdef MSG
  111. CONST KV rgb[cColor] = {
  112.   _BLACK, _RED, _GREEN, _BROWN,
  113.   _BLUE, _MAGENTA, _CYAN, _WHITE,
  114.   _GRAY, _LIGHTRED, _LIGHTGREEN, _YELLOW,
  115.   _LIGHTBLUE, _LIGHTMAGENTA, _LIGHTCYAN, _BRIGHTWHITE};
  116. #endif
  117. #ifdef BGI
  118. CONST KV ARR rgb[cColor] = {
  119.   EGA_BLACK, EGA_RED, EGA_GREEN, EGA_BROWN,
  120.   EGA_BLUE, EGA_MAGENTA, EGA_CYAN, EGA_LIGHTGRAY,
  121.   EGA_DARKGRAY, EGA_LIGHTRED, EGA_LIGHTGREEN, EGA_YELLOW,
  122.   EGA_LIGHTBLUE, EGA_LIGHTMAGENTA, EGA_LIGHTCYAN, EGA_WHITE};
  123. #endif
  124. #ifdef X11
  125. CONST char *szColorX[cColor] = {
  126.   "black", "orangered3", "green4", "darkorange2",
  127.   "blue4", "violet", "cyan4", "grey65",
  128.   "grey35", "orangered1", "green1", "yellow1",
  129.   "blue1", "pink", "cyan1", "white"};
  130. KV rgbind[cColor], fg, bg;
  131. #endif
  132. #ifdef WIN
  133. int ikPalette[cColor] =
  134.   {-0, -1, 1, 4, 6, 3, -8, 5, -3, -2, -4, -5, -7, 2, 7, -6};
  135. #endif
  136.  
  137. /* These are the actual color arrays and variables used by the program.      */
  138. /* Technically, Astrolog always assumes we are drawning on a color terminal; */
  139. /* for B/W graphics, all the values below are filled with black or white.    */
  140.  
  141. KI kMainB[9], kRainbowB[8], kElemB[4], kAspB[cAspect+1], kObjB[objMax];
  142.  
  143. /* Some physical X window variables dealing with the window itself. */
  144.  
  145. #ifdef X11
  146. XSizeHints hint;
  147. #if FALSE
  148. XWMHints *wmhint;
  149. #endif
  150. char xkey[10];
  151. #endif
  152.  
  153.  
  154. /*
  155. ******************************************************************************
  156. ** Graphics Table Data.
  157. ******************************************************************************
  158. */
  159.  
  160. #ifdef STROKE
  161. char szObjectFont[oNorm+1] = ";QRSTUVWXYZ     <    a  c     b  ";
  162. CONST char szAspectFont[cAspect+1] = "!\"#$'&%()+-       ";
  163. #endif
  164.  
  165. char * ARR szDrawSign[cSign+3] = {"",
  166.   "ND4HU2HLGDFBR6EUHLGD2G",                /* Aries       */
  167.   "BL3D2F2R2E2U2H2NE2L2NH2G2",             /* Taurus      */
  168.   "BLU3LHBR7GLNL3D6NL3RFBL7ERU3",          /* Gemini      */
  169.   "BGNDHLGDFRNEFR2EREBU3NHDGLHUENRHL2GLG", /* Cancer      */
  170.   "BF4H2UEU2H2L2G2D2FDGH",                 /* Leo         */
  171.   "BF4BLHNGNHEU5GHND5HGND6HGND6H",         /* Virgo       */
  172.   "BGNL3HUER2FDGR3BD2L8",                  /* Libra       */
  173.   "BH4FND6EFND6EFD6FREU",                  /* Scorpio     */
  174.   "BG4E3NH2NF2E5NL2D2",                    /* Sagittarius */
  175.   "",                                      /* Capricorn   */
  176.   "BG4EUEDFDEUEDFDEUEBU5GDGUHUGDGUHUGDG",  /* Aquarius    */
  177.   "NL4NR4BH4F2D4G2BR8H2U4E2",              /* Pisces      */
  178.   "BH3NLNUD3FND2EU2ENF2UFERFDGLF2D2G",     /* Capricorn #1 */
  179.   "BH4RFR2ER3G3D2GDFR2EU2HL3G2DG"};        /* Capricorn #2 */
  180.  
  181. char * ARR szDrawObject[oNorm+8] = {
  182.   "ND4NL4NR4U4LGLDGD2FDRFR2ERUEU2HULHL",    /* Earth   */
  183.   "U0BH3DGD2FDRFR2ERUEU2HULHL2GL",          /* Sun     */
  184.   "BG3E2U2H2ER2FRDFD2GDLGL2H",              /* Moon    */
  185.   "BD4UNL2NR2U2REU2HNEL2NHGD2FR",           /* Mercury */
  186.   "LHU2ER2FD2GLD2NL2NR2D2",                 /* Venus   */
  187.   "HLG2DF2RE2UHE4ND2L2",                    /* Mars    */
  188.   "BH3RFDGDGDR5NDNR2U6E",                   /* Jupiter */
  189.   "BH3R2NUNR2D3ND3RERFDGDF",                /* Saturn  */
  190.   "",                                       /* Uranus  */
  191.   "BD4U2NL2NR2U5NUNRLBL2NUNLDF2R2E2UNRU",   /* Neptune */
  192.   "",                                       /* Pluto   */
  193.   "BG2LDFEULU3NURFRFBU5GLGLU2",             /* Chiron          */
  194.   "BD4UNL3NR3U2RE2UH2L2G",                  /* Ceres           */
  195.   "BD4UNL3NR3UE2HUHNUGDGF2",                /* Pallas Athena   */
  196.   "BD4UNL2NR2U4NL4NR4NE3NF3NG3NH3U3",       /* Juno            */
  197.   "BU4DBG3NLFDF2E2UERBH2GDGHUH",            /* Vesta           */
  198.   "BG2LGFEU2HU2E2R2F2D2GD2FEHL",            /* North Node      */
  199.   "",                                       /* Lilith          */
  200.   "NE2NF2NG2H2GD2F2R2E2U2H2L2G",            /* Part of Fortune */
  201.   "U2NHNEBD4NGNFU2L2NHNGR4NEF",             /* Vertex          */
  202.   "BH4NR3D4NR2D4R3BR2U8R2FD2GL2",           /* East Point      */
  203.   "BG4U4NR2U3EFD7BR2NURU2HU2RDBR3ULD5RU",   /* Ascendant  */
  204.   "BH3ER4FD2GLGLG2DR6",                     /* 2nd Cusp   */
  205.   "BH3ER4FD2GNL3FD2GL4H",                   /* 3rd Cusp   */
  206.   "BH4R2NR2D8NL2R2BR4NUL2U8R2D",            /* Nadir      */
  207.   "BG3FR4EU2HL5U4R6",                       /* 5th Cusp   */
  208.   "BE3HL4GD6FR4EU2HL4G",                    /* 6th Cusp   */
  209.   "BH4D8REU6HLBF7DRU2HU2RDBG4NRU3NRU2R",    /* Descendant */
  210.   "BL2GD2FR4EU2HNL4EU2HL4GD2F",             /* 8th Cusp   */
  211.   "BG3FR4EU6HL4GD2FR4E",                    /* 9th Cusp   */
  212.   "BG4U8F2ND6E2D8BR4NUL2U8R2D",             /* Midheaven  */
  213.   "BH3ED8NLRBR2RNRU8G",                     /* 11th Cusp  */
  214.   "BG4RNRU8GBR4ER2FD2GLG2D2R4",             /* 12th Cusp  */
  215.   "BH4BRFDG2DR8BG3UNL2NR2U5LUEFDL",         /* Cupido    */
  216.   "BENUNL2NR2D3ND2NR2L2H2U2E2R4",           /* Hades     */
  217.   "BU4NG2NF2D7NDBLHLBR6LGL2GLBR6LHL",       /* Zeus      */
  218.   "BU2D3ND3NR2L2BH2UE2R4F2D",               /* Kronos    */
  219.   "U3NLR2NRD3NL2NR2D4NRL2NLU4L4UEUH",       /* Apollon   */
  220.   "BUNU2NL2NR2D2ND3LHU2ENHR2NEFD2GL",       /* Admetos   */
  221.   "G2DGR6HUH2U4NG2F2",                      /* Vulcanus  */
  222.   "ND4U4BL3DF2R2E2UBD8UH2L2G2D",            /* Poseidon  */
  223.   "BD4NEHURBFULU3NUNR2L2NU2DGBU5NFBR6GD3F", /* Uranus #1 */
  224.   "BD2D0BU6NG2NF2D4LGD2FR2EU2HL",           /* Uranus #2 */
  225.   "D2NL2NR2D2BU8GFEHBL3D2F2R2E2U2",         /* Pluto  #1 */
  226.   "BL3R5EU2HL5D8R5",                        /* Pluto  #2 */
  227.   "BG4E8BG2FD2G2L2H2U2E2R2F",               /* Lilith #1 */
  228.   "UERHL2G2D2F2R2ELHU",                     /* Lilith #2 */
  229.   "BH2LHEFD2GD2F2R2E2U2HU2EFGL"             /* Lilith #3 */
  230.   };
  231.  
  232. CONST char * ARR szDrawHouse[cSign+1] = {"",
  233.   "BD2NLNRU4L", "BHBUR2D2L2D2R2", "BHBUR2D2NL2D2L2",
  234.   "BHBUD2R2NU2D2", "BEBUL2D2R2D2L2", "NLRD2L2U4R2",
  235.   "BHBUR2DG2D", "NRLU2R2D4L2U2", "NRLU2R2D4L2",
  236.   "BH2NLD4NLRBR2U4R2D4L2", "BH2NLD4NLRBR2RNRU4L", "BH2NLD4NLRBR2NR2U2R2U2L2"};
  237.  
  238. CONST char * ARR szDrawAspect[cAspect+1] = {"",
  239.   "HLG2DF2RE2UHE4",                        /* Conjunction      */
  240.   "BGL2GDFREU2E2U2ERFDGL2",                /* Opposition       */
  241.   "BH4R8D8L8U8",                           /* Square           */
  242.   "BU4GDGDGDGDR8UHUHUHUH",                 /* Trine            */
  243.   "BLNH3NG3RNU4ND4RNE3F3",                 /* Sextile          */
  244.   "BG4EUEUEUEUNL4NR4BDFDFDFDF",            /* Inconjunct       */
  245.   "BH4FDFDFDFDNL4NR4BUEUEUEUE",            /* Semisextile      */
  246.   "BE4G8R8",                               /* Semisquare       */
  247.   "BD2L3U6R6D6L3D2R2",                     /* Sesquiquadrature */
  248.   "F4BU3U2HULHL2GLDGD2FDRFR2E3",           /* Quintile         */
  249.   "BD2U3NR3NU3L3BD5R6",                    /* Biquintile       */
  250.   "BU2D3NR3ND3L3BU5R6",                    /* Semiquintile     */
  251.   "BH3R6G6",                               /* Septile      */
  252.   "BR3L5HUER4FD4GL4H",                     /* Novile       */
  253.   "BF2UHL2GFR3DGL3BE6LNLU2NRLBL4LNLD2NLR", /* Binovile     */
  254.   "BL2R4G4BE6LNLU2NRLBL4LNLD2NLR",         /* Biseptile    */
  255.   "BL2R4G4BE6L7NLU2NLR3ND2R3ND2R",         /* Triseptile   */
  256.   "BF2UHL2GFR3DGL3BU6LNLU2NLRBR2F2E2"};    /* Quatronovile */
  257.  
  258. CONST char * ARR szDrawCh[128-32+1] = {"",
  259.   "BR2D4BD2D0", "BRD2BR2U2", "BD2R4BD2L4BFU4BR2D4", "BR2D6BENL3EHL2HER3",
  260.   "RDLNUBR4G4BR4DLUR", "BD2NF4UEFDG2DFRE2", "BR2DG", "BR3G2D2F2", "BRF2D2G2",
  261.   "BD2FNGRNU2ND2RNEF", "BD3R2NU2ND2R2", "BD5BR2DG", "BD3R4", "BD6BRRULD",
  262.   "BD5E4", /* Special Characters */
  263.  
  264.   "BDD4NE4FR2EU4HL2G", "BFED6NLR", "BDER2FDG4R4", "BDER2FDGNLFDGL2H",
  265.   "D3R3NU3ND3R", "NR4D3R3FDGL2H", "BR3NFL2GD4FR2EUHL3", "R4DG4D",
  266.   "BDDFNR2GDFR2EUHEUHL2G", "BD5FR2EU4HL2GDFR3", /* Numbers */
  267.  
  268.   "BR2BD2D0BD2D0", "BR2BD2D0BD2G", "BR3G3F3", "BD2R4BD2L4", "BRF3G3",
  269.   "BDER2FDGLDBD2D0", "BF2DFEU2HL2GD4FR2", /* Special Characters */
  270.  
  271.   "BD6U4E2F2D2NL4D2", "D6R3EUHNL3EUHL3", "BR3NFL2GD4FR2E", "D6R2E2U2H2L2",
  272.   "NR4D3NR3D3R4", "NR4D3NR3D3", "BR3NFL2GD4FR2EU2L2", "D3ND3R4NU3D3",
  273.   "BRRNRD6NLR", "BD4DFR2EU5", "D3ND3RNE3F3", "D6R4", "ND6F2NDE2D6",
  274.   "ND6F4ND2U4", "BDD4FR2EU4HL2G", "R3FDGL3NU3D3", "BDD4FRENHNFEU3HL2G",
  275.   "ND6R3FDGL2NLF3", "BR3NFL2GDFR2FDGL2H", "R2NR2D6", "D5FR2EU5",
  276.   "D2FDFNDEUEU2", "D6E2NUF2U6", "DF4DBL4UE4U", "D2FRND3REU2",
  277.   "R4DG4DR4", /* Upper Case Letters */
  278.  
  279.   "BR3L2D6R2", "BDF4", "BRR2D6L2", "BD2E2F2", "BD6R4", "BR2DF", /* Symbols */
  280.  
  281.   "BF4G2LHU2ER2FD3", "D5NDFR2EU2HL2G", "BF4BUHL2GD2FR2E", "BR4D5NDGL2HU2ER2F",
  282.   "BD4R4UHL2GD2FR3", "BD3RNR3ND3U2ERF", "BD8R3EU4HL2GD2FR2E", "D3ND3ER2FD3",
  283.   "BR2D0BD2D4", "BR2D0BD2D5GLH", "D4ND2REREBD4HLH", "BR2D6",
  284.   "BD2DND3EFNDEFD3", "BD2DND3ER2FD3", "BD3D2FR2EU2HL2G", "BD2DND5ER2FD2GL2H",
  285.   "BR4BD8U5HL2GD2FR2E", "BD2DND3ER2F", "BD6R3EHL2HER3", "BR2D2NL2NR2D4",
  286.   "BD2D3FRE2NU2D2", "BD2DFDFEUEU", "BD2D3FENUFEU3", "BD2F2NG2NE2F2",
  287.   "BD2D3FR2ENU3D2GL3", "BD2R4G4R4", /* Lower Case Letters */
  288.  
  289.   "BR3GDGFDF", "BR2D2BD2D2", "BRFDFGDG", "BFEFE", "BD6R4",
  290.   "BR2FGHE"}; /* Symbols */
  291.  
  292. CONST char * ARR szWorldData[62*3] = {
  293. "-031+70",
  294. "LLRRHLLLLDULLGLLLDULGLLLGLRREDEGGLGGLGLGLLGDRLDRLFFRRERFDFRRREUEEHLUERERUERR\
  295. FGLGLDDFRRRRREFRLGLLLLLGEFDLHGDDLGHLGLLHGLHURDLRRELLLRHUGLDFDLGLLFHGGLGLLLDLL\
  296. LDRRFFDDGLLLLLLGDFGDDRRFRERREEUEREUEFRRERRFFFRFRDDLLLLRFRUREURULHLHHHEF",
  297. "5EUROPE",
  298. "+006+50", "RRERRRRUELLUHHLLREULLELLDGHDUFDEGRDRRLFDLLRGRRGGL", "5ENGLAND",
  299. "+008+55", "GLFGRRREUULL", "5IRELAND",
  300. "+023+64", "RRFRERRREHLLLLLGHLLRFLLRFL", "5ICELAND",
  301. "-011+80", "DDURFRERLGRRLLFRRREEFRRRLHGELLLHRRFRRRRERLLLLLLLLLLLDHGULLL",
  302. "5SVALBARD",
  303. "-014+45",
  304. "FRFRFDDFRDRRLLFRURFHHUERRRRRHUUEERRRRGRDERRLHLRRERRGGRFRFFGLLLLHLLLLGLLDLLLF\
  305. GRFFRERFRERDDDGDGLLDFFEUDDFFDFFDDFFFDFDDDRRERRERRRUERRERURUEEHHLHUGGLLLUUGUHU\
  306. HURRFFRFRRRDRRFRRRRRRRF",
  307. "5MIDDLE EAST",
  308. "-009+41", "DDRUULEUGD", "5SARDINIA",
  309. "-024+35", "RRLL", "5CRETE",
  310. "-032+35", "RRLL", "5CYPRUS",
  311. "-052+37", "LLHUURHUHUHERERRRDDLLLFFDDURFLLDFDDL", "0CASPAIN SEA",
  312. "-060+44", "LLUEERDFLDL", "0ARAL SEA",
  313. "-068+24",
  314. "FRGFRREDDDDDFDFDDFDDFERUEUUUUEEEEEREURRREFDFRDDDDRREFDDFDDGDDRFDDFDFFRUHUUHH\
  315. HULUEUUURDRFDFRDEEREUUUHHHUUEERRDDEURRERREREEEUEULLREUHUHLEERRHLGLULUREERDLDR\
  316. ERRFGRFDGRRREUHHUREUE",
  317. "6ASIA S",
  318. "-140+36",
  319. "DEUUEUHURREREEGLLHHDDGLDRGDDGGLGLLLGGLDLRDFEUHRRGEERDLLRGLRERRERRE",
  320. "6JAPAN",
  321. "-121+25", "GDFUEUL", "6TAIWAN",
  322. "-080+10", "DDDDREUHH", "6SRI LANKA",
  323. "-121+18", "LDDDRDDRHRRFFDDDLLEHDULRHDFDDGERDDREUUULUUHHLHEUUL",
  324. "2PHILIPPINES",
  325. "-131+43",
  326. "EFREEREEEUUUEUHLLUDLULEERERERRRRRRERRFLRRRRLUERERRRDRERURRGDLGLGLGLGGDDFDFEU\
  327. RRUERUURULEEREDERRFRERERRRERRHLHLRRRREURDRRFRFRUURRHLLLDHHLLHLLHLLLLLLLDLLHRL\
  328. LLLLLLGHULLLLLLLLLLULLLGL",
  329. "6SIBERIA",
  330. "-145+71",
  331. "RELLRHLLLLGDHGHLLLLGLLHUHLLLLLDLLLLHLLLLLDULUDLGLLLLRRERERRRELHLLLLLLLELLLLG\
  332. DLLLLLUDLLLLLGLLLDLLLLLLLDFRDDHELLLLLLDRRLLHUDLGFGRRRRFRLHLLDGLGLLHRRREUHUUUL\
  333. LGGLDRFGHLLLHLLLLRFGHLGLLLULGLLLGLLHRHLDDDLLLLDLLLFLLHUHLRRFRRRREHLLHLLLHLLL",
  334. "6RUSSIA",
  335. "-143+54", "GDDDDDDDEDUUURUUHUU", "6SAKHALIN",
  336. "-180+72", "GRRRRULLL", "6WRANGEL I.",
  337. "-137+76", "DRRRRRRRELLLLLLLL", "6SIBERIAN I.",
  338. "-091+80", "FERDRRRRRRULLLLLRRULLLLGL", "6SEVERNAYA",
  339. "-101+79", "GRRRRELLLL", "6ZEMLYA",
  340. "-068+77", "LLGLLLLLLGLLGGLGLRFRRRRLHERERERRRERRRREL", "6NOVAYA",
  341. "+123+49",
  342. "FGULLFDDDGFDDDFFDFRFRFDFFFDLFFRDFFEHHHHUHHUFRDFFFRDFFFDFGFRFRFRRFRRRRFFRRFRF\
  343. FDRFFRFEUUGLHHUUEUHLLLLLEUUEULLLGDLLGLHHUHUUUEHEERERRFRRHRREFRRFDFDFEUUHUUUEE\
  344. RERUUUHFDEUHFEURRRELUERRE",
  345. "4NORTH AMERICA S",
  346. "+113+42", "FH", "0SALT LAKE",
  347. "+156+20", "DRULHLHL", "4HAWAII",
  348. "+085+22", "RERFRRFRGRRRRHLHLHLLLLLG", "4CUBA",
  349. "+070+18", "RRHHLLLFLLLFRRRRRR", "4HAITI",
  350. "+078+18", "RRHLLF", "4JAMAICA",
  351. "+066+18", "ELLDR", "4PUERTO RICO",
  352. "+078+24", "UD", "4NASSAU",
  353. "+067+45",
  354. "REFLGDERERREHDLLLHUELLLGLGLREEERRRRRRREERRGGDGRRRFEFUUHLLLEUUHHGLRELLHHUHHHD\
  355. GLGHHULLHLLLLLDFGFDDGLLFDDGHHUULLLLHLLHLLLUHUUEREEREERRRREUUHLLLDDGHULLLHLUHL\
  356. GDRFGGULLLLLLLLLHLLGFLHLLLLLRHLLLLLHLLLLLLHGLLLLGUGLLLHLL",
  357. "4CANADA",
  358. "+088+49",
  359. "LGLGRRRRRRRFLLLGRGDDREUURUFRGRFGFERERREEREERLGGLGLLLGRLLGLEUERHLLLHULHL",
  360. "0GREAT LAKES",
  361. "+117+61", "REHRFRRERGLGLLLL", "0SLAVE LAKE",
  362. "+125+66", "RRERRRGREDLFHGLLLERLLLL", "0BEAR LAKE",
  363. "+097+50", "UULHURFDFG", "0LAKE WINNIPEG",
  364. "+090+72",
  365. "FRRLLFRRRRRRRRRRFRRGLLGRREEFRFLGLFLLLLFRERFRFRRFRRHLHFRRRUHLHRRFRURELLHLLLHR\
  366. RHLHLHGHLHLLGLLEHFRRRHLLLLLLGLDFHLUELLGG",
  367. "4BAFFIN I.",
  368. "+125+72",
  369. "RFRREERRRLLGFFRRRRRLLLLLFRRRRRRRREFRRRRHRRLHLHHLRRULGLFLHLDLLULLLLHLLLLLLLDG",
  370. "4VICTORIA I.",
  371. "+141+70",
  372. "LLLLLLLLHGLHLLLHGLLGLLGLLDRRFRRDLLLULGLLFRRRRRRDLGLLGFDRRRDRRRRRGGGLLGLLGGLL\
  373. RRERERRRERREERRELEERRRLLGDRERRURRFRRRRRFRRFUDRUDDHFDURDURLURDDLFRULURDHFFRGFE\
  374. GRFFRFRFLHLHLFFRFE",
  375. "4ALASKA",
  376. "+045+60",
  377. "REUEREUERRRRERERRRERRRRERLLLLLLHRRRGERHFRRRRHLUDLLHLRERFRERLEUHRRHLEERLLURRR\
  378. RRRRRELLLLLLLLLLGLLLRERHGLRELLLLLLLELLLLLLLLLLGLLLLLLGLLLLLLGLULLLLLLLFRLLLLL\
  379. GLRRRGLLLLLLLGRRRRRRRGLLLLRRFRRRRRRRRRRFDFDLFREFRDLLLDERRFGLLGFFDRFFFRRRF",
  380. "4GREENLAND",
  381. "+080+10",
  382. "DRFDFDDGGGDDGRDGDDFFDFDFFDFFRFFFDDDDDDGDDDDGDDDDGDGFGDDDEUDDDGUDDLDRGDDDFDFR\
  383. FRRFERRLHLUHUURUEELHEREURULURREURREREUHUUDFRREEEEEUEUUEERERRREUEUEUUUUUEEEEUU\
  384. UHLHLHLLLLHLHLGEHLGEUHUUHLHLLLHHLHULEDLLELLGHLLHLGDDHUELLGLGDGHHL",
  385. "3SOUTH AMERICA",
  386. "+060-51", "LDRRELL", "3FALKLAND ISLANDS",
  387. "+092+00", "FUL", "3GALAPAGOS I.",
  388. "-032+32",
  389. "LLGLHLLLLHLGDGHLLHHLLHLEUULLLLLLLLLGLGLLLLHDGLGDGDGGLDGGGDGDFDDDDGDDFFFFDFRF\
  390. FRRRRRRRRERERRFFRRFFDDDGDFFFDFDDDFDGDGDDDFDFDFDDDFDFDFDDFFERRRRREEEEEEEUUEREU\
  391. UHUEEEREEUUUUHUUUHUEUEEEEEREEUEUEEUUULLLLGLLHUHHLHUHHUUHHUUHUHHUU",
  392. "1AFRICA",
  393. "-049-12", "DGGGLGDDDDGDDFFREUEUEUUUEUUUUH", "1MADAGASCAR",
  394. "-032+00", "DDDREUELLL", "0LAKE VICTORIA",
  395. "-014+14", "LRFLU", "0LAKE CHAD",
  396. "-124-16",
  397. "LGDGGLGLLGLDDDGFDDFDFDGFRRRERRRRURERRRRRRRFFFEEDDRFDFRFREFRERRUUEUEEUUUUUUUH\
  398. HHHHHHUUHHHUULDDDDGDGHLHLHEUELLLHLFLLULDRGDDLLHLGG",
  399. "2AUSTRALIA",
  400. "-173-35", "FFDGFDREURULHHHL", "2NEW ZEALAND N",
  401. "-174-41", "LLDGLGLGGRFREEUREEU", "2NEW ZEALAND S",
  402. "-145-41", "DFRRUUUDLLL", "2TASMANIA",
  403. "-178-17", "GRRURUGDH", "2FIJI",
  404. "-130+00", "FRFRLGFEFRFRFDGRRFRRUERFFFRRRLHHHHRHLHHLHLLHGGLHUHLGH",
  405. "2NEW GUINEA",
  406. "-115-04", "RUUEEURHUUEHHGGGGLLDDHLDDFDDRRDERF", "2BORNEO",
  407. "-095+06", "DFFFFFFDFFFFRUUUHFRHLHLUHHHHHLLH", "2SUMATRA",
  408. "-106-06", "GRFRRRRRRFRRHLHLLLLLHL", "2JAVA",
  409. "-120+00", "DGDDRDFHUEDFRHUHREFHLGHURRRRELLLLG", "2CELEBES",
  410. "+000-70",
  411. "ULDLLLLLLLLGLLGLLLGLLGLLLLGLGLLGLLLLGLLLLLHLGLLLLLHLLLLLHLLLLHLLUERLEUUUUUUE\
  412. ERRRULLGLLLLGLGGLLLDRUDRDLGHLLGLLFGRRFLLLLLLLDHLLLLHLLLLLGLLLLHLLLLLLLGRFDLLL\
  413. ULLLGHLLLLLLLLLLHGHLLGLLLLLLLGLLLLLLLLLLLGLLLGLLLLLLLLGLLLLLLLLLLLLLLLLLLLLL",
  414. "7ANTARCTICA W",
  415. "+180-78",
  416. "LLLLLLLHLLGHLLGHLUEERRERREHLLLLHLLLLLLHLLLLLLLLLLLHLHLLLLLHLLULDLLLLLDLLHLLL\
  417. LGHFLLLLLHLLLLLLGLHLLHLGLLLLHLGLLGLLLULLLGLLHDFLLLGLGLLLELLLLHLLLLLLLLLLHLLLH\
  418. LLLLGGHGHGLLLGLDLLLLHLLGHGLLLLLLLLLLLLLLHLGLLLLLLLLLLLLLL",
  419. "7ANTARCTICA E",
  420. "", "", ""};
  421.  
  422. #ifdef CONSTEL
  423. CONST char * ARR szDrawConstel[cCnstl+1] = {"",
  424. "550210+51DDd3r8d2Rr7d2Rr3Dd5l2d3r10uru6rUu2Rr2ur4u2RrUUu3Ll7d2l3DdLl5d2Lu2l4\
  425. Uul8Dd2Ll3Uul7", /* Andromeda */
  426. "660913-25d2Ll5Dl5d2l4d4LlDRRr8Uu5l6", /* Antila */
  427. "561804-68DDd3RRRRRr2Uu9LLLLl3Uu2Ll4", /* Apus */
  428. "362213+02Dd3Ll14DDd5RRrUUur7Dd4Rr6UUu2Ll9ul3dLl13", /* Aquarius */
  429. "562003+16Ddl3d7l3Dd9r7Dd2RRUu6r5Uu2l4u4r3Uu2l3u7Lld2l13dLl3", /* Aquila */
  430. "641803-45Dd7Rr5Dd8Ru3rur2u3r3UUu5LLl3", /* Ara */
  431. "560307+31DDrd9RRr3Uu6Llu2l7UuLl7", /* Aries */
  432. "650604+56d2l6Dl4d6Ll7Dd5Rr5Dd2RuRr2Ur4u6l3UUu3Ll3u3Ll4", /* Auriga */
  433. "431504+55d2l8DDdr4d7r4Dd5rDDd2RRr6UUu8LlUlUUu5Ll4", /* Bootes */
  434. "560501-27DDd3Rr2d3r5d3r4Uu3l5Ul2u3Ll", /* Caelum */
  435. "751407+86DdRr6d3RRr6u3Rr2UuRr9Dd7Rr12DDRr12u2Rr11Dd4Rr12d3RRr8u2r2u2rUu8l6Uu\
  436. 7lULLl6u5LLLl5uLLLLLLl7", /* Camelopardalis */
  437. "550906+33DDDd3Rr14URrULu8l2Uu3Ll6", /* Cancer */
  438. "551309+52Dd2Ll2DDrd2Rr9UuRr8u2r5Uu4lUu2Ll9", /* Canes Venatici */
  439. "550707-11DDd3Rr12UUu9Ll7", /* Canis Major */
  440. "660714+13DLld3l2DRr10ur3Uu2l7ul5", /* Canis Minor */
  441. "562114-09DDd5r7d2Rr13UUul7Dd4Ll7Uul7", /* Capricornus */
  442. "360804-51d2l4d2l5d2LLLl5DDd5RRRUu6RRr2Uu2r4u3r6u2r2u2LLl4", /* Carina */
  443. "440310+77Dd2r6Dd3Rr6u2Rdr3d3r4d4r4DdRd2r10u2Rr5Uur3u2RrULl4u4l6u3Ll6Uu7LLLl1\
  444. 0", /* Cassiopeia */
  445. "551501-30Dd3Rr11Dd5l6Dd4RRrUu5RrDd4r9Uu3r4UUu4Ll5u2l5ULLLl", /* Centaurus */
  446. "850805+88d3RRRr9DRRr4d3RRRr9Dd3Rr5d3r6DRrd3r7dr3d3r3u2RRr5UurdRu2l7u5l3Uu5r9\
  447. Uul12u5LLl14u2LLLLLLLLLLl5", /* Cepheus */
  448. "560306+11DDdRr4DDd4Rr4dRRrUUu4Ll7Uu3LLl2UuLl6", /* Cetus */
  449. "561313-75Dd3RRRRRRr6Uu5LLLLLLl13", /* Chamaeleon */
  450. "341507-55Ddr2d3r3d4RrDdRr2Uu5r2uLl10Uu5Ll7", /* Circinus */
  451. "660603-27Dd3l7Dd3Rr14UUu3Ll3", /* Columba */
  452. "561207+33d2Ll6Dd2l3Dd6RrdRUu8l2Uu3l5", /* Coma Berenices */
  453. "561905-37Dd5RRUu3Ll5", /* Corona Australis */
  454. "451606+39Dd4r2dRr11Uu2l4u7Ll6", /* Corona Borealis */
  455. "551214-12Dd3r4d2RrUu8Ll14", /* Corvus */
  456. "551114-07DDd5RrUrUu3Ll14", /* Crater */
  457. "561214-55Dd4RrUu5Ll14", /* Crux */
  458. "552010+61Dd5LLlDd5RdrDd4r2Dd2RuRr4d2r6Ulu7lUu4r4u4rUu6l5u2l5ULl9ul",
  459. /* Cygnus */
  460. "542010+21DLl2d8RrDd4rd4r7u7r3Uu6l2Uul5", /* Delphinus */
  461. "570408-49Dd4Lld3l7DdLd3l8DRRr6Uur3u3r5u3Rr2u2Ll2Uul6", /* Dorado */
  462. "352013+86d5r12Dd5l9Dd3r3d5RDr3d2r5d2r5Dd2Rr10UuRr14uRRr3ur8u2Rr8Uu2Rr7uRr14u\
  463. 3Rr8Uu3RRr9UuLl13DdLl9d3LLlDdLd4Ll10ULl8u5Ll7Ul7u6LLLl13", /* Draco */
  464. "562107+13Dd8Rr2u4lUu2Ll3ul4", /* Equuleus */
  465. "430411+00d4Ll3DdRd3rDd7r3Dr2d7r5DRrd4r7d2r6d3Rr4Ddr4d3r4d4Rr8u5l3u2l4Uu2Ll6U\
  466. Llul7u4l4Uu6Rr4UUu9Ll10ULl11", /* Eridanus */
  467. "550312-24Dd5r4d4r7DRRr4Uu6LLl12", /* Fornax */
  468. "560713+35d2Ll2Dd2RDrd7r5dr7Dru2Rr9u6rUu2Ru6l10Uu5Ll13", /* Gemini */
  469. "442307-36DDd6Rr13UuRr8Uu4LLl7", /* Grus */
  470. "551805+51Dd2rDDl3d4l7Dd8r8u2Rr9dRr2Dd6r10Uu6RUu2l2u3l2ul2Uu9Rr3UUu2LLldLl5",
  471. /* Hercules */
  472. "770404-40d9r2DdRr2d2r5d4r4Dd7Rr12Uu6l4u3l4UuLlu3l6u2l7ULl4", /* Horologium */
  473. "760910+07DDd2Ll13Dld5LLl10u2LLl6d2LlDRRRr5d4r5d2RRru4r4Ur5u3Rr2u2r10URr5u2r3\
  474. u7r4UUu7Ll10", /* Hydra */
  475. "560203-58Dd7LLl9Dd5Rr8Dd2RRRr14Uu6l12dLl6UUu2Ll3", /* Hydrus */
  476. "742107-45d4Ll2DDd7Ll7Dd4RRr8UURr8Uu5Ll7", /* Indus */
  477. "562214+57DDd5r13uRrUu4LulUu3l3u3l3ul7", /* Lacerta */
  478. "551200+28DDr6Dd7Rr2Uu7Rr9UUUu3LDd2l9d5l4u2Ll2u3L", /* Leo */
  479. "451004+41Ddl9d6Ll2Dd5Rr2d2r4u5RUu3r9u6l5UuLl4", /* Leo Minor */
  480. "550603-11Dd7RRrUu6Lu3Ll3", /* Lepus */
  481. "551600-04DDdr3Dr11u5Rr9UUu2l6u7Ll3d3L", /* Libra */
  482. "331602-30Dd2Rr3d6r5Dd4r4dRr11Uu7LlUULl2", /* Lupus */
  483. "640703+62DLl9Dd4Ll5d5l6Ddr5d6RRr2u2r6Uu4RrUr4u4r6Uu2Ll3", /* Lynx */
  484. "551903+48d4l4Dd3rDrd5Rrur7Ur3Uu8Ll3", /* Lyra */
  485. "560608-70d5Ll9Dd5RRRRr8Uu5Ll9ULLl8", /* Mensa */
  486. "552107-27DDd5Rr8UUu3Ll7", /* Microscopium */
  487. "470701+12Dld9l3DLl3DdRRRrUu6Ll5UUlu2Ll", /* Monoceros */
  488. "561311-64dl2Dd5RRr10Uu6LLl11", /* Musca */
  489. "561609-42DDRr8u5r4ul4Uu2l5u6Ll9", /* Norma */
  490. "270000-74lDd2LLLl7d3LLLLl9u2LLLLLLLLLLLl4Uu6LLLLLL", /* Octans */
  491. "641806+14d2l5Dd4r5d2l2dr2DRrd4LlDRr3d2rUr7d6l7DDRr2u5r7UlurUu2Ru4l6Uu4l7Uu3L\
  492. l6uLl6", /* Ophiuchus */
  493. "560600+23dl5Dd2lDrDd4RrDdr11Uu6Rr4UrUu5Llul5dl4d3l3u6rUu3L", /* Orion */
  494. "552007-57DLl7Dd4RRRr11Uu2Rr5Uu3LLLl7", /* Pavo */
  495. "552201+36dLl9d2l4dLl2Ddld6lDd7r2d2RrDd2Rr2d6Rr3ur3dr2Uu3r4drUl3u4l3u4l4Uu6Ll\
  496. ", /* Pegasus */
  497. "460209+59d2Ll5d2l2d2Ll12DDd4r3d5RRr2u3r2u3rUUur7Dd2Rr3Uur4u4l4u3Lul9",
  498. /* Perseus */
  499. "650206-40d8RrDdr4d2r3d5RRr8UULLLl6", /* Phoenix */
  500. "640601-43Dd3l2d2l6d3l4Dd4Ru3r7Uu3r7u3Rr7Uu4l5u3LLl", /* Pictor */
  501. "450108+33Ddl4Dd9Ll2Dd7RRr8Dd6Rru3Rr2Uu8Ll14UuLl2u2l2Uu2l10u3r2Uu3Ll8",
  502. /* Pisces */
  503. "562302-25Dd6RRr8Uu5LLl2", /* Piscis Austrinus */
  504. "570807-11DDDd3r6DdRRr14Uu7l9Uu7Ll7UUu9Ll7", /* Puppis */
  505. "560810-18DLl3d5l4Dd7Rr8UUu2l3", /* Pyxis */
  506. "560401-53d3l5d3l3Dd7Rr11Uu3l4u4Ll", /* Reticulum */
  507. "452005+22Dd4Rrur13u2RrUu2Ll5Dl9u2Ll5", /* Sagitta */
  508. "552002-12Dd7l5DDd5Rr10Uu3RRUr4Uu4LLu4Ll2", /* Sagittarius */
  509. "471606-08Dd9lDrd5l7DLLDd5Rr6u3r7UURr3u9LUUu2l6", /* Scorpius */
  510. "560111-25DDRRr8u4r5Uu5LLl11", /* Sculptor */
  511. "551900-04Dd6r9Uu6L", /* Scutum */
  512. "861814+06d4r4Dd4r4Dd6Rr11Ul7d2lu2Llu6RrULl6u3l2ur2u2l8bRbRbRbUbUd4l3Dd6l3Dd4\
  513. Rr12UUUu5Ll2d3RD", /* Serpens */
  514. "551013+07DDd2Rr5UUu7Ll13", /* Sextans */
  515. "640600+29d6r3Dd2ld6r3u3r4ur5dRr5DDRr5dr4UUUlUuLl9Dl4dLL", /* Taurus */
  516. "552007-45Dd7RRr12Uu5LLl7", /* Telescopium */
  517. "560211+37d3l2d3r5Dd2r7d2Rr3u3r4Uu5Ll2u2l9", /* Triangulum */
  518. "561609-60dl3d3l2dLd3l3DdRRRrUu2Ll2u4l3u3l2ULl9", /* Triangulum Australe */
  519. "360106-58DDd5Rr2uRr8Uu3Rr13Uu4Ll7d2LLl6", /* Tucana */
  520. "641107+73Dd4Lld3Ll8dLl7Dd5r5Dd2Rr6Uu2Rr12Dd6rDDd2Rr13Uu3Rr2u6r9UuRr10u5Rr6UU\
  521. r6Uu3LLLl7", /* Ursa Major */
  522. "342200+86RRRRrDr7d5Rr7DRr5d5RRu4r14Uu6l8u3Ll7Uu6RRRRRRr10u2RRRRRRRRRRrd2R",
  523. /* Ursa Minor */
  524. "560907-37DLLlDd7RRRr2u2r5u2r4u2r3Uu7l6Uu3Ll7", /* Vela */
  525. "551309+14Dd2LLl3DdRr3d7r6DDd3RRrUu8RrUu3r5UULu3l14uLl9", /* Virgo */
  526. "560900-64Dd5RRr7Uu6LLL", /* Volans */
  527. "462100+29dl8d4r3DRr5ur5uRrDr9u2Rru3Ll5u2l6u2LL"}; /* Vulpecula */
  528. #endif /* CONSTEL */
  529. #endif /* GRAPH */
  530.  
  531. /* xdata.c */
  532.